﻿/**
 * @file viewdatarefnode.h
 * @author huangxb
 * @email 18228033207@163.com
 * @date 2024.04.20
 * @license MIT License
 * @brief 节点类，表示引用的视图数据.
 *
 * @htmlonly
 * <span style="font-weight: bold">History</span>
 * @endhtmlonly
 * Version|Auther|Date|Describe
 * ------|----|------|--------
 * V1.0|huangxb|2024.04.20|创建
 */
#ifndef VIEWDATAREFNODE_H
#define VIEWDATAREFNODE_H

/* 库头文件 */
#include <vector>
#include <memory>
#include <string>
#include <list>

/** @brief 视图节点. */
class CViewDataRefNode
{
private:
    std::vector<std::shared_ptr<CViewDataRefNode>> m_listChild; /**< 子节点，按列依次存放 */
    CViewDataRefNode* m_pParent = nullptr; /**< 父节点 */
    int m_nRowCount = 0; /**< 节点拥有的行数 */
    int m_nColumnCount = 0; /**< 节点拥有的列数 */

public:
    void InsertRows(int nRow, int nCount, std::list<std::shared_ptr<CViewDataRefNode>> listNode);

public:
    virtual std::string ToString() const { return "test";}
    virtual void FromString(const std::string& str) {}
};

#endif // VIEWDATAREFNODE_H
